[Amazon FSx for NetApp ONTAP] キャパシティプールストレージのデータにはポストプロセス重複排除が効かないので注意しよう
なんだか重複排除の効きが悪いな
こんにちは、のんピ(@non____97)です。
皆さんは「Amazon FSx for NetApp ONTAP(以降FSx for ONTAP)のボリュームの重複排除の効きが悪いな」と思ったことはありますか? 私はあります。
私がこの場面に遭遇したのは、いずれも階層化ポリシーがALLのボリュームだったので、原因はボリュームの階層化ポリシーがALLであることなのかもしれません。
重複排除についての説明は以下記事をご覧ください。
重複排除が行われるタイミングは以下2種類あります。
- インライン
- ストレージに保存する前にメモリ上のデータ間で重複排除を実施
- ポストプロセス
- ストレージに保存された後にストレージ上のデータ間で重複排除を実施
階層化ポリシーをALLにしてしまうと、基本的にすぐさまオブジェクトストレージベースのキャパシティプールストレージに階層化されてしまいます。階層化はブロック単位で行われますが、もしかしたらオブジェクトストレージにある関係上、キャパシティプール上のブロックのハッシュ値の計算は行っていないかもしれません。
気になったので、確認をしてみます。
いきなりまとめ
- キャパシティプールストレージ上のデータに対してはポストプロセスの重複排除が効かない
- インライン重複排除は階層化ポリシーがALLでも効く
- キャパシティプールストレージ上のデータをプライマリストレージに移動するだけではポストプロセスの重複排除は効かない
-scan-old-data
を付与してStorage Efficiencyを実行する必要がある- ただし、実行時にパフォーマンス影響が出ることが考えられるため実行時には注意すること
- プライマリストレージ上で効かせたポストプロセス重複排除は、キャパシティプールストレージに移動しても維持される
- 「重複排除を効かせた状態で移行をしたい。ただ、ほとんどのデータをキャパシティプールストレージに持っていきたい」のであれば、FSx for ONTAPを2つ用意して、以下のステップで移行する
- 現行ファイルサーバーから1台目のFSx for ONTAPの階層化ポリシーをAuto or Noneしたボリュームにファイルを移行する
- 1台目のFSx for ONTAP上で重複排除が効くまで待つ
- SnapMirrorを使って、1台目のFSx for ONTAPのボリュームから2台目のFSx for ONTAPの階層化ポリシーをALLにしたボリュームにデータを移行する
- 現行ファイルサーバーと2台目のFSx for ONTAP間で差分同期をする
- FSx for ONTAPのボリュームではTSSEが有効化されている
- TSSEはFabricPoolのローカル(FSx for ONTAPでいうところのプライマリストレージ)のみサポートしている
検証のシナリオ
Fsx for ONTAPの階層化ポリシーをALL
とAuto
のボリュームを1つづつ用意します。どちらのボリュームもStorage Efficiency(ストレージ効率化)はマネジメントコンソールから有効化しておきます。
# ボリュームの確認 ::> volume show Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- SVM SVM_root aggr1 online RW 1GB 972.0MB 0% SVM vol1 aggr1 online RW 10GB 9.50GB 0% SVM vol2 aggr1 online RW 10GB 9.50GB 0% 3 entries were displayed. # 各ボリュームの階層化ポリシーを確認 ::> volume show -fields tiering-policy vserver volume tiering-policy ------- -------- -------------- SVM SVM_root none SVM vol1 auto SVM vol2 all 3 entries were displayed. # 各ボリュームでStorage Efficiencyが有効になっていることを確認 ::> volume efficiency show Vserver Volume State Status Progress Policy ---------- ---------------- --------- ----------- ------------------ ---------- SVM vol1 Enabled Idle Idle for 00:06:36 auto SVM vol2 Enabled Idle Idle for 00:06:16 auto 2 entries were displayed. # 各ボリュームのStorage Efficiencyの詳細を確認 ::> volume efficiency show -volume vol* -instance Vserver Name: SVM Volume Name: vol1 Volume Path: /vol/vol1 State: Enabled Status: Idle Progress: Idle for 00:07:45 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:16:09 2023 Last Success Operation End: Sun Jan 15 11:16:09 2023 Last Operation Begin: Sun Jan 15 11:16:09 2023 Last Operation End: Sun Jan 15 11:16:09 2023 Last Operation Size: 0B Last Operation Error: - Changelog Usage: 0% Logical Data Size: 308KB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true Vserver Name: SVM Volume Name: vol2 Volume Path: /vol/vol2 State: Enabled Status: Idle Progress: Idle for 00:07:25 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:16:29 2023 Last Success Operation End: Sun Jan 15 11:16:29 2023 Last Operation Begin: Sun Jan 15 11:16:29 2023 Last Operation End: Sun Jan 15 11:16:29 2023 Last Operation Size: 0B Last Operation Error: - Changelog Usage: 0% Logical Data Size: 296KB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true 2 entries were displayed. # 各ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- -------- --------- ------- ----- ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM SVM_root 972.0MB 972.8MB 792KB 0% 0B 0B 0B 0B none SVM vol1 9.50GB 9.50GB 308KB 0% 0B 0B 0B 0B auto SVM vol2 9.50GB 9.50GB 296KB 0% 0B 0B 0B 0B all 3 entries were displayed.
この状態で各ボリュームにランダムなデータブロックで構成されるファイルを作成して、そのファイルをコピーした際に重複排除が効くか確認します。重複排除が効く場合、ボリュームの消費量は1ファイル分になるはずです。
階層化ポリシーがALLだとポストプロセス重複排除が効かないことを確認
テストファイルの書き込み
それでは検証をしてみます。
NFSクライアントからFSx for ONTAPの各ボリュームをマウントします。
# マウントポイントの作成 $ sudo mkdir -p /mnt/fsxn/vol1 $ sudo mkdir -p /mnt/fsxn/vol2 # マウント $ sudo mount -t nfs svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 /mnt/fsxn/vol1 $ sudo mount -t nfs svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 /mnt/fsxn/vol2 # マウントされたことを確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 256K 9.5G 1% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 256K 9.5G 1% /mnt/fsxn/vol2
それでは1GBのランダムなデータブロックで構成されるファイルを各ボリュームに書き込みます。
# テストファイルの作成 $ sudo dd if=/dev/urandom of=/mnt/fsxn/vol1/test-file_1 bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 6.74191 s, 159 MB/s $ sudo dd if=/dev/urandom of=/mnt/fsxn/vol2/test-file_1 bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 6.52896 s, 164 MB/s # テストファイル書き込み後の各ボリュームの使用量を確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol2
どちらも等しく1.1GB書き込まれいますね。
ONTAP CLIからも確認しましょう。
# 各ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- -------- --------- ------- ----- ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM SVM_root 972.0MB 972.8MB 792KB 0% 0B 0B 0B 0B none SVM vol1 8.49GB 9.50GB 1.01GB 10% 0B 0B 0B 0B auto SVM vol2 8.49GB 9.50GB 1.01GB 10% 0B 0B 0B 0B all 3 entries were displayed. # 各ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol1, vol2 Vserver : SVM Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 1.01GB 0% Footprint in Performance Tier 1.02GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Delayed Frees 2.79MB 0% Total Footprint 1.08GB 0% Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 1.01GB 0% Footprint in Performance Tier 17.24MB 2% Footprint in FSxFabricpoolObjectStore 1GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Delayed Frees 2.49MB 0% Total Footprint 1.08GB 0% 2 entries were displayed. # 各ボリュームのStorage Efficiencyの詳細を確認 ::> volume efficiency show -volume vol* -instance Vserver Name: SVM Volume Name: vol1 Volume Path: /vol/vol1 State: Enabled Status: Idle Progress: Idle for 00:21:37 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:16:09 2023 Last Success Operation End: Sun Jan 15 11:16:09 2023 Last Operation Begin: Sun Jan 15 11:16:09 2023 Last Operation End: Sun Jan 15 11:16:09 2023 Last Operation Size: 0B Last Operation Error: - Changelog Usage: 9% Logical Data Size: 1.01GB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true Vserver Name: SVM Volume Name: vol2 Volume Path: /vol/vol2 State: Enabled Status: Idle Progress: Idle for 00:21:17 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:16:29 2023 Last Success Operation End: Sun Jan 15 11:16:29 2023 Last Operation Begin: Sun Jan 15 11:16:29 2023 Last Operation End: Sun Jan 15 11:16:29 2023 Last Operation Size: 0B Last Operation Error: - Changelog Usage: 9% Logical Data Size: 1.01GB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true 2 entries were displayed.
どちらも階層化ポリシーをALLにしたvol2
はほとんどのデータがFSxFabricpoolObjectStore
= キャパシティプールに保存されていますね。
テストファイルのコピー
作成したテストファイルをコピーします。
# テストファイルのコピー $ sudo cp -p /mnt/fsxn/vol1/test-file_1 /mnt/fsxn/vol1/test-file_2 $ sudo cp -p /mnt/fsxn/vol2/test-file_1 /mnt/fsxn/vol2/test-file_2 # 各ボリュームの使用量の確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 2.1G 7.5G 22% /mnt/fsxn/vol2
階層化ポリシーがAutoのvol1
は使用量が1.1GBのままですが、階層化ポリシーがALLのvol2
の使用量は2.1GBになりました。
確かに階層化ポリシーがALLだとポストプロセス重複排除が効いていなさそうです。
ONTAP CLIからも確認してみましょう。
# 各ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- -------- --------- ------- ----- ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM SVM_root 972.0MB 972.8MB 792KB 0% 0B 0B 0B 0B none SVM vol1 8.46GB 9.50GB 1.04GB 10% 1001MB 1001MB 1001MB 0B auto SVM vol2 7.46GB 9.50GB 2.04GB 21% 0B 0B 0B 0B all 3 entries were displayed. # 各ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol1, vol2 Vserver : SVM Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 1.04GB 0% Footprint in Performance Tier 1.04GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Delayed Frees 4.31MB 0% Total Footprint 1.11GB 0% Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 2.04GB 0% Footprint in Performance Tier 43.08MB 2% Footprint in FSxFabricpoolObjectStore 2GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 6.02MB 0% Deduplication 6.02MB 0% Delayed Frees 5.16MB 0% Total Footprint 2.11GB 0% # 各ボリュームのStorage Efficiencyの詳細を確認 ::> volume efficiency show -volume vol* -instance Vserver Name: SVM Volume Name: vol1 Volume Path: /vol/vol1 State: Enabled Status: Idle Progress: Idle for 00:26:01 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:16:09 2023 Last Success Operation End: Sun Jan 15 11:16:09 2023 Last Operation Begin: Sun Jan 15 11:16:09 2023 Last Operation End: Sun Jan 15 11:16:09 2023 Last Operation Size: 0B Last Operation Error: - Changelog Usage: 9% Logical Data Size: 2.02GB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true Vserver Name: SVM Volume Name: vol2 Volume Path: /vol/vol2 State: Enabled Status: Idle Progress: Idle for 00:02:54 Type: Regular Schedule: - Efficiency Policy Name: auto Blocks Skipped Sharing: 0 Last Operation State: Success Last Success Operation Begin: Sun Jan 15 11:38:59 2023 Last Success Operation End: Sun Jan 15 11:39:16 2023 Last Operation Begin: Sun Jan 15 11:38:59 2023 Last Operation End: Sun Jan 15 11:39:16 2023 Last Operation Size: 1.26GB Last Operation Error: - Changelog Usage: 9% Logical Data Size: 2.04GB Logical Data Limit: 640TB Logical Data Percent: 0% Queued Job: - Stale Fingerprint Percentage: 0 Compression: false Inline Compression: true Storage Efficiency Mode: efficient Constituent Volume: false Inline Dedupe: true Data Compaction: true Cross Volume Inline Deduplication: false Cross Volume Background Deduplication: false Extended Compressed Data: true 2 entries were displayed.
階層化ポリシーがAutoのvol1
でdedupe-space-saved
が1001MB
になっていることから、1GBほど重複排除によりデータの消費量を減らしていることが分かります。一方、階層化ポリシーがALLのvol2
ではdedupe-space-saved
が0B
となっています。
ちなみに、ポストプロセスの重複排除の実行タイミングは、どちらのボリュームも自動バックグラウンド重複排除機能により決定されます。
ONTAP 9.3 以降では ' 事前定義された auto AFF ポリシーを使用して ' ボリューム・レベルのバックグラウンド重複排除を自動的に実行するように管理できますスケジュールを手動で設定する必要はありません。auto ポリシーは ' バックグラウンドで継続的な重複排除を実行します
Efficiency Policyがauto
のときに自動バックグラウンド重複排除により、重複排除の実行されます。FSx for ONTAPの場合デフォルトではauto
が指定されます。
デフォルトのEfficiency Policyはdefault
とinline-only
とがあります。
::> volume efficiency policy show Policy Job Duration Vserver Name Schedule (Hours) QoS Policy Enabled Comment -------- ------------ ---------- -------- ----------- -------- -------------- SVM auto - - - true ADS-auto policy SVM default daily - best_effort true Default policy SVM inline-only - - - - Inline-Only policy 3 entries were displayed.
手動でポストプロセス重複排除を実行する
念の為、手動でポストプロセス重複排除を実行します。
# 手動でポストプロセス重複排除を実行 ::> volume efficiency start -volume vol2 The efficiency operation for volume "vol2" of Vserver "SVM" has started. # 重複排除によりデータ量が削減できているか確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 7.46GB 9.50GB 2.04GB 21% 10MB 10MB 10MB 0B all
10MBほど重複排除が効きました。プライマリストレージにメタデータがわずかに保存されているので、その分かなと推測します。
インライン重複排除は効くことを確認する
キャパシティプールストレージのファイルを同時に複数コピー
次に階層化ポリシーがALLであってもインライン重複排除が効くことを確認します。
まず、キャパシティプールストレージのファイルを同時に複数コピーした場合の挙動を確認します。
先の検証で作成した/vol2
のファイルを/vol2/copied
にコピーします。/vol2
にはtest-file_1
とtest-file_2
があり、test-file_2
はtest-file_1
のコピーです。
# コピー先のディレクトリの作成 $ sudo mkdir /mnt/fsxn/vol2/copied # コピー $ sudo cp -p /mnt/fsxn/vol2/test-file_* /mnt/fsxn/vol2/copied/ # サイズの確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 4.1G 5.5G 43% /mnt/fsxn/vol2
そのまま2GB増えていることから、重複排除は効いていなさそうです。
ONTAP CLIからも確認します。
# ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 5.42GB 9.50GB 4.08GB 42% 23.42MB 23.42MB 23.42MB 0B all # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 4.08GB 0% Footprint in Performance Tier 90.34MB 2% Footprint in FSxFabricpoolObjectStore 4GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 12.03MB 0% Deduplication 12.03MB 0% Delayed Frees 8.84MB 0% Total Footprint 4.16GB 0%
13MBほど重複排除が効いたようです。もっと効くと思ったのですが思ったより効きませんね。
手動で重複排除をしてみます。
# 手動でポストプロセス重複排除を実行 ::> volume efficiency start -volume vol2 The efficiency operation for volume "vol2" of Vserver "SVM" has started. # 重複排除によりデータ量が削減できているか確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 5.42GB 9.50GB 4.08GB 42% 7.25MB 7.25MB 7.25MB 0B all # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 4.08GB 0% Footprint in Performance Tier 91.61MB 2% Footprint in FSxFabricpoolObjectStore 4GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 16.21MB 0% Deduplication 16.21MB 0% Delayed Frees 11.07MB 0% Total Footprint 4.17GB 0%
重複排除によって削減されたデータ量が23.42MB
から7.25MB
に減ってしまいました。これは謎ですね。
プライマリストレージのファイルを同時に複数コピー
次に、プライマリストレージのファイルを同時に複数コピーした場合の挙動を確認します。
先の検証で作成した/vol1
のファイルを/vol2/copied2
にコピーします。/vol1
にはtest-file_1
とtest-file_2
があり、test-file_2
はtest-file_1
のコピーです。
# コピー先のディレクトリの作成 $ sudo mkdir /mnt/fsxn/vol2/copied2 # コピー $ sudo cp -p /mnt/fsxn/vol1/test-file_* /mnt/fsxn/vol2/copied2/ # サイズの確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 6.2G 3.4G 65% /mnt/fsxn/vol2
2GB増えているのであまり重複排除は効いていなさそうです。
ONTAP CLIからも確認します。
# ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.64GB 9.50GB 5.86GB 61% 295.9MB 295.9MB 295.9MB 0B all # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 132.8MB 2% Footprint in FSxFabricpoolObjectStore 5.81GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 30.07MB 0% Deduplication 30.07MB 0% Delayed Frees 74.52MB 0% Total Footprint 6.03GB 1%
重複排除によって削減されたデータ量が7.25MB
から295.9MB
になりました。30%弱ほど重複排除が効いていますね。
こちらも手動で重複排除をしてみます。
# 手動でポストプロセス重複排除を実行 ::> volume efficiency start -volume vol2 The efficiency operation for volume "vol2" of Vserver "SVM" has started. # 重複排除によりデータ量が削減できているか確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.63GB 9.50GB 5.86GB 61% 303.4MB 303.4MB 303.4MB 0B all # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 134.8MB 2% Footprint in FSxFabricpoolObjectStore 5.81GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 33.98MB 0% Deduplication 33.98MB 0% Delayed Frees 75.41MB 0% Total Footprint 6.03GB 1%
8MBほど重複排除量が増えました。こちらもメタデータ分でしょうか。
階層化ポリシーをALLからNoneに変更した場合にポストプロセス重複排除が動作するのか
階層化ポリシーをNoneに変更
次に、階層化ポリシーをALLからNoneに変更した場合にポストプロセス重複排除が動作するのか確認します。
階層化ポリシーをNoneに変更します。
# 階層化ポリシーをNoneに変更 ::> volume modify -volume vol2 -tiering-policy none Volume modify successful on volume vol2 of Vserver SVM. # 階層化ポリシーがNoneになったことを確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.64GB 9.50GB 5.86GB 61% 303.4MB 303.4MB 303.4MB 0B none # データがキャパシティプールストレージからプライマリストレージに移動していないことを確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 134.9MB 2% Footprint in FSxFabricpoolObjectStore 5.81GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 33.98MB 0% Deduplication 33.98MB 0% Delayed Frees 75.55MB 0% Total Footprint 6.03GB 1%
以下記事で紹介している通り、階層化ポリシーをNoneに変更しても、すぐにはキャパシティプールストレージからプライマリストレージへデータは移動しません。
-cloud-retrieval-policy promote
で強制的にキャパシティプールストレージからプライマリストレージにデータを移動させます。
# 権限レベルを変更 ::> set advanced Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel. Do you want to continue? {y|n}: y # 全てのデータをプライマリストレージに移動するようポリシーを変更 ::*> volume modify -volume vol2 -cloud-retrieval-policy promote Warning: The "promote" cloud retrieve policy retrieves all of the cloud data for the specified volume. If the tiering policy is "snapshot-only" then only AFS data is retrieved. If the tiering policy is "none" then all data is retrieved. Volume "vol2" in Vserver "SVM" is on a FabricPool, and there are approximately 6234456064 bytes tiered to the cloud that will be retrieved. Cloud retrieval may take a significant amount of time, and may degrade performance during that time. The cloud retrieve operation may also result in data charges by your object store provider. Do you want to continue? {y|n}: y Volume modify successful on volume vol2 of Vserver SVM. # 権限レベルを元に戻す ::*> set admin # データがキャパシティプールストレージからプライマリストレージに移動していっているか確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 136.0MB 2% Footprint in FSxFabricpoolObjectStore 5.81GB 98% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 76.56MB 0% Total Footprint 6.03GB 1% ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 836.2MB 14% Footprint in FSxFabricpoolObjectStore 5.12GB 86% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 77.01MB 0% Total Footprint 6.03GB 1% ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 5.33GB 90% Footprint in FSxFabricpoolObjectStore 631.2MB 10% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 88.17MB 0% Total Footprint 6.04GB 1% ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.86GB 1% Footprint in Performance Tier 5.92GB 100% Footprint in FSxFabricpoolObjectStore 22.05MB 0% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 79.22MB 0% Total Footprint 6.04GB 1% # ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.63GB 9.50GB 5.86GB 61% 304.4MB 304.4MB 304.4MB 0B none
しばらく待つと全てのデータがプライマリストレージに移動しました。その時の重複排除量を確認すると、特に変わりありませんでした。
手動で重複排除をしてみましょう。
# 手動でポストプロセス重複排除を実行 ::> volume efficiency start -volume vol2 The efficiency operation for volume "vol2" of Vserver "SVM" has started. # 重複排除によりデータ量が削減できているか確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.63GB 9.50GB 5.87GB 61% 304.4MB 304.4MB 304.4MB 0B none # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 5.87GB 1% Footprint in Performance Tier 5.92GB 100% Footprint in FSxFabricpoolObjectStore 22.05MB 0% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 79.39MB 0% Total Footprint 6.04GB 1%
手動で重複排除をしても、変わりありませんでした。キャパシティプールストレージ上のデータをプライマリストレージに移動してもポストプロセスの重複排除は効かないようです。
元々キャパシティプールストレージにあったファイルを同時に複数コピー
最後に元々キャパシティプールストレージにあったファイルを同時に複数コピーした場合の挙動を確認します。
先の検証で作成した/vol2
のファイルを/vol2/copied3
にコピーします。/vol2
にはtest-file_1とtest-file_2
があり、test-file_2はtest-file_1
のコピーです。
# コピー先のディレクトリの作成 $ sudo mkdir /mnt/fsxn/vol2/copied3 # コピー $ sudo cp -p /mnt/fsxn/vol2/test-file_* /mnt/fsxn/vol2/copied3/ # サイズの確認 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 6.9G 2.7G 72% /mnt/fsxn/vol2
2GBのファイルをコピーしましたが、1GBほどしか増えていませんね。これは重複排除が効いている予感がします。
ONTAP CLIから確認します。
# ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 2.82GB 9.50GB 6.68GB 70% 1.50GB 1.50GB 933.2MB 0B none
重複排除によって削減されたデータ量が304.4MB
から1.50GB
になりました。
手動で重複排除をしてみます。
# 手動でポストプロセス重複排除を実行 ::> volume efficiency start -volume vol2 The efficiency operation for volume "vol2" of Vserver "SVM" has started. # 重複排除によりデータ量が削減できているか確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 2.82GB 9.50GB 6.68GB 70% 1.74GB 1.74GB 1.15GB 0B none ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 2.81GB 9.50GB 6.68GB 70% 1.89GB 1.89GB 1.30GB 0B none ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 2.81GB 9.50GB 6.69GB 70% 2.11GB 2.11GB 1.32GB 0B none ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 2.82GB 9.50GB 6.68GB 70% 2.30GB 2.30GB 1.32GB 0B none ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 3.62GB 9.50GB 5.88GB 61% 2.30GB 2.30GB 1.33GB 0B none
重複排除によって削減されたデータ量dedupe-space-saved
が1.50GB
から2.30GB
になりました。この検証を始める前は304.4MB
だったので、2GBほど増えていますね。
一方で重複しているデータ量dedupe-space-shared
は1.33GB
と1GBしか増えていません。
作成したファイルのサイズはいずれも1GBで、重複しているデータ量が1GB。そして、削除されたデータ量が2GBであることから、3つのファイルが重複していると判定されていそうです。2つのファイルをコピーしたタイミングで重複排除されたデータ量が2GBになったため、その内2つは今回作成したファイル分だと推測します。
残りの1ファイルがどれか、怪しいファイルを削除して潰していきます。
重複排除されたデータを保持している場合は、ファイルを削除しても重複排除が1GB減るため、ボリュームの使用量は±0になるはずです。
まずは/mnt/fsxn/vol2/test-file_2
を削除してみます。
$ sudo rm /mnt/fsxn/vol2/test-file_2 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 4.9G 4.7G 52% /mnt/fsxn/vol2
ファイル削除後に1GBボリューム使用量が減りました。このファイルは重複排除されたデータを保持していないようです。
ONTAP CLIからも確認します。
::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 4.46GB 9.50GB 5.04GB 53% 2.25GB 2.25GB 1.28GB 0B none
重複排除量は50MBほど減っていました。メタデータ分が重複していたのでしょうか。
次に/mnt/fsxn/vol2/test-file_1
を削除してみます。
$ sudo rm /mnt/fsxn/vol2/test-file_2 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 3.9G 5.7G 41% /mnt/fsxn/vol2
ファイル削除後に1GBボリューム使用量が減りました。こちらのファイルも重複排除されたデータを保持していないようです。
ONTAP CLIからも確認します。
::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 5.62GB 9.50GB 3.88GB 40% 2.25GB 2.25GB 1.28GB 0B none
こちらは重複排除量は全く変わっていません。
以上のことから、元々キャパシティプールストレージ上にあったファイルとコピーされたファイル間での重複排除も効かないということでしょうか。
次に/mnt/fsxn/vol2/copied/test-file_1
を削除します。
$ sudo rm /mnt/fsxn/vol2/copied/test-file_1 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 3.7G 5.9G 39% /mnt/fsxn/vol2
ファイル削除後のデータ量の減りが少ないです。ONTAP CLIで重複排除量を確認します。
::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 5.84GB 9.50GB 3.66GB 38% 1.49GB 1.49GB 1.25GB 0B none
760MB重複排除量が減っていますね。こちらのファイルと重複していたようです。
こちらのファイルも元々キャパシティプールストレージ上にあったので、「元々キャパシティプールストレージ上にあったファイルとコピーされたファイル間での重複排除も効かない」という仮説は誤りのようです。
最後に/mnt/fsxn/vol2/copied/test-file_2
を削除します。
$ sudo rm /mnt/fsxn/vol2/copied/test-file_2 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol1 nfs4 9.5G 1.1G 8.5G 11% /mnt/fsxn/vol1 svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol2 nfs4 9.5G 3.0G 6.6G 31% /mnt/fsxn/vol2
700MBほど削除されました。ONTAP CLIで重複排除量を確認します。
::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 6.60GB 9.50GB 2.90GB 30% 1.23GB 1.23GB 1.22GB 0B none
重複排除量が260MBほど減っていますね。
2024/5/13追記 : 階層化ポリシーをALLからNoneに変更した場合にポストプロセス重複排除が動作するのか (-scan-old-data付与)
先ほどの検証ではStorage Efficiencyを実行する際に何もオプションを付与せずに実行しました。
以下記事で紹介しているように-scan-old-data
を付与するとどうでしょうか。これによりChange Logの有無に関わらず全てのデータをスキャンしてくれます。
再度検証をするにあたって、FSxNファイルシステムを再作成しました。Storage Effieicnyは無効の状態です。
::> set diag Warning: These diagnostic commands are for use by NetApp personnel only. Do you want to continue? {y|n}: y ::*> volume efficiency show -volume vol1 -fields state, policy, storage-efficiency-mode, inline-compression, inline-dedupe, compression, data-compaction, auto-adaptive-compression-savings, auto-adaptive-compression-existing-volume, using-auto-adaptive-compression vserver volume state policy compression inline-compression storage-efficiency-mode inline-dedupe data-compaction auto-adaptive-compression-savings using-auto-adaptive-compression auto-adaptive-compression-existing-volume ------- ------ -------- ------ ----------- ------------------ ----------------------- ------------- --------------- --------------------------------- ------------------------------- ----------------------------------------- svm vol1 Disabled auto false false efficient false false true false false ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ -------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Disabled Idle for 55:37:33 Sun May 05 05:00:35 2024 Sun May 05 05:00:35 2024 0B 0% 0B 404KB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ----- ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 60.80GB 64GB 60.80GB 404KB 0% 0B 0% 0B 404KB 0% 404KB 0% - 404KB 0B 0% ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 404KB 0% Footprint in Performance Tier 4.76MB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 4.37MB 0% File Operation Metadata 4KB 0% Total Footprint 112.2MB 0% Effective Total Footprint 112.2MB 0% ::*> version NetApp Release 9.13.1P8: Fri Feb 23 14:13:29 UTC 2024
NFSクライアントからボリュームをマウントして、1GiBのデータの作成および、そのファイルのコピーを作成します。
$ sudo mount -t nfs svm-0fc6df47563d91421.fs-08a808074b45a3649.fsx.us-east-1.amazonaws.com:/vol1 /mnt/fsxn/vol1 $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0fc6df47563d91421.fs-08a808074b45a3649.fsx.us-east-1.amazonaws.com:/vol1 nfs4 61G 448K 61G 1% /mnt/fsxn/vol1 $ sudo dd if=/dev/urandom of=/mnt/fsxn/vol1/random_pattern_binary_block_4GiB bs=1M count=4096 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.2693 s, 152 MB/s $ cp /mnt/fsxn/vol1/random_pattern_binary_block_4GiB /mnt/fsxn/vol1/random_pattern_binary_block_4GiB_copy cp: cannot create regular file '/mnt/fsxn/vol1/random_pattern_binary_block_4GiB_copy': Permission denied $ sudo cp /mnt/fsxn/vol1/random_pattern_binary_block_4GiB /mnt/fsxn/vol1/random_pattern_binary_block_4GiB_copy $ df -hT -t nfs4 Filesystem Type Size Used Avail Use% Mounted on svm-0fc6df47563d91421.fs-08a808074b45a3649.fsx.us-east-1.amazonaws.com:/vol1 nfs4 61G 8.1G 53G 14% /mnt/fsxn/vol1
この状態のStorage Efficiency、ボリュームの状態は以下のとおりです。SSD上で書き込んだ分、物理的にも消費しています。
::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ -------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Disabled Idle for 55:41:23 Sun May 05 05:00:35 2024 Sun May 05 05:00:35 2024 0B 0% 0B 8.03GB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 52.76GB 64GB 60.80GB 8.03GB 13% 0B 0% 0B 8.03GB 13% 8.03GB 13% - 8.03GB 0B 0% ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 8.03GB 1% Footprint in Performance Tier 8.04GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 9.19MB 0% File Operation Metadata 4KB 0% Total Footprint 8.15GB 1% Effective Total Footprint 8.15GB 1%
Tiering PolicyをAllに変更してデータをキャパシティプールストレージに階層化します。
::*> volume show -volume vol1 -fields tiering-policy, cloud-retrieval-policy vserver volume tiering-policy cloud-retrieval-policy ------- ------ -------------- ---------------------- svm vol1 none default ::*> volume modify -volume vol1 -tiering-policy all Volume modify successful on volume vol1 of Vserver svm. ::*> volume show -volume vol1 -fields tiering-policy, cloud-retrieval-policy vserver volume tiering-policy cloud-retrieval-policy ------- ------ -------------- ---------------------- svm vol1 all default ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 8.03GB 1% Footprint in Performance Tier 8.04GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 9.34MB 0% File Operation Metadata 4KB 0% Total Footprint 8.15GB 1% Effective Total Footprint 8.15GB 1% ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 8.03GB 1% Footprint in Performance Tier 48.54MB 1% Footprint in FSxFabricpoolObjectStore 8GB 99% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 13.09MB 0% File Operation Metadata 4KB 0% Total Footprint 8.15GB 1% Effective Total Footprint 8.15GB 1% ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ -------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Disabled Idle for 55:44:28 Sun May 05 05:00:35 2024 Sun May 05 05:00:35 2024 0B 0% 0B 8.03GB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 52.76GB 64GB 60.80GB 8.03GB 13% 0B 0% 0B 8.03GB 13% 8.03GB 13% - 8.03GB - -
ほとんどのデータがキャパシティプールストレージに階層化されたことを確認したあと、Storage Efficiencyを有効化します。
::*> volume efficiency on -volume vol1 Efficiency for volume "vol1" of Vserver "svm" is enabled. ::*> volume efficiency show -volume vol1 -fields state, policy, storage-efficiency-mode, inline-compression, inline-dedupe, compression, data-compaction, auto-adaptive-compression-savings, auto-adaptive-compression-existing-volume, using-auto-adaptive-compression vserver volume state policy compression inline-compression storage-efficiency-mode inline-dedupe data-compaction auto-adaptive-compression-savings using-auto-adaptive-compression auto-adaptive-compression-existing-volume ------- ------ ------- ------ ----------- ------------------ ----------------------- ------------- --------------- --------------------------------- ------------------------------- ----------------------------------------- svm vol1 Enabled auto false false efficient false false true false false ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled Idle for 55:45:10 Sun May 05 05:00:35 2024 Sun May 05 05:00:35 2024 0B 0% 0B 8.03GB
この時点ではStorage Efficiencyは実行されていないようです。
Tiering PolicyとCloud Retrieval Policyを変更してキャパシティプールストレージのデータをSSDに書き戻します。
::*> volume show -volume vol1 -fields tiering-policy, cloud-retrieval-policyvserver volume tiering-policy cloud-retrieval-policy ------- ------ -------------- ---------------------- svm vol1 all default ::*> volume modify -volume vol1 -tiering-policy none -cloud-retrieval-policy ? default Retrieve tiered data based on the tiering policy on-read Retrieve tiered data on data reads never Never retrieve tiered data promote Retrieve all eligible tiered data automatically during the next scheduled scan. If the tiering policy is 'snapshot-only', the only data brought back is the data in the AFS ::*> volume modify -volume vol1 -tiering-policy none -cloud-retrieval-policy promote Warning: The "promote" cloud retrieve policy retrieves all of the cloud data for the specified volume. If the tiering policy is "snapshot-only" then only AFS data is retrieved. If the tiering policy is "none" then all data is retrieved. Volume "vol1" in Vserver "svm" is on a FabricPool, and there are approximately 8589934592 bytes tiered to the cloud that will be retrieved. Cloud retrieval may take a significant amount of time, and may degrade performance during that time. The cloud retrieve operation may also result in data charges by your object store provider. Do you want to continue? {y|n}: y Volume modify successful on volume vol1 of Vserver svm. ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 8.04GB 1% Footprint in Performance Tier 8.13GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 101.1MB 0% File Operation Metadata 4KB 0% Total Footprint 8.24GB 1% Effective Total Footprint 8.24GB 1% ::*> volume efficiency show -volume vol1 -fields state, policy, storage-efficiency-mode, inline-compression, inline-dedupe, compression, data-compaction, auto-adaptive-compression-savings, auto-adaptive-compression-existing-volume, using-auto-adaptive-compression vserver volume state policy compression inline-compression storage-efficiency-mode inline-dedupe data-compaction auto-adaptive-compression-savings using-auto-adaptive-compression auto-adaptive-compression-existing-volume ------- ------ ------- ------ ----------- ------------------ ----------------------- ------------- --------------- --------------------------------- ------------------------------- ----------------------------------------- svm vol1 Enabled auto false false efficient false false true false false ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ------------------ ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled Idle for 165:52:44 Sun May 05 05:00:35 2024 Sun May 05 05:00:35 2024 0B 0% 0B 8.04GB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 52.76GB 64GB 60.80GB 8.04GB 13% 0B 0% 0B 8.04GB 13% 8.04GB 13% - 8.04GB 0B 0%
何もオプションを付与せずにStorage Efficiencyを実行します。
::*> volume efficiency start -volume vol1 The efficiency operation for volume "vol1" of Vserver "svm" has started. ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled Idle for 00:00:08 Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 52.76GB 64GB 60.80GB 8.04GB 13% 0B 0% 0B 8.04GB 13% 8.04GB 13% - 8.04GB 0B 0% ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 8.04GB 1% Footprint in Performance Tier 8.13GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Delayed Frees 101.2MB 0% File Operation Metadata 4KB 0% Total Footprint 8.24GB 1% Effective Total Footprint 8.24GB 1%
last-op-size
が0B
であることから重複排除のスキャンが行われなかったことが分かります。もちろん、volume show
のdedupe-space-saved
は0B
のままです。
それでは-scan-old-data
を付与してStorage Efficiencyを実行します。
::*> volume efficiency start -volume vol1 ? [ -vserver <vserver name> ] Vserver Name (default: svm) [[-scan-old-data|-s] [true]] Scan Old Data { [ -use-checkpoint|-p [true] ] Use Checkpoint (if scanning old data) | [ -delete-checkpoint|-d [true] ] } Delete Checkpoint [ -qos-policy <Efficiency QoS policy> ] QoS Policy [ -compression|-C [true] ] *Start Compression (if scanning old data) [ -dedupe|-D [true] ] *Start Deduplication (if scanning old data) [ -compaction|-P [true] ] *Start Compaction (if scanning old data) [ -build-metadata|-m [true] ] Build metadata without sharing(if scanning old data) [ -scan-all|-o [true] ] Scan all the data without shared block optimization(if scanning old data) [ -shared-blocks|-a [true] ] *Compress Shared Blocks (if scanning old data) [ -snapshot-blocks|-b [true] ] *Compress Blocks In Snapshots (if scanning old data) [ -queue|-q [true] ] Operation Should Be Queued [ -force|-f [true] ] Force Operation [ -skip-zero-replacement|-z [true] ] *Skip Zero block detection and replacement ::*> volume efficiency start -volume vol1 -scan-all true Error: command failed: not authorized for that command ::*> volume efficiency start -volume vol1 -scan-old-data true Warning: This operation scans all of the data in volume "vol1" of Vserver "svm". It might take a significant time, and degrade performance during that time. Do you want to continue? {y|n}: y The efficiency operation for volume "vol1" of Vserver "svm" has started. ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-endvserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size------- ------ ------- ------------------ ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 3328000 KB Scanned Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ------------------ ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 6629376 KB Scanned Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ------------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 8388608 KB Searched Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- --------------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 1772052 KB (42%) Done Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- --------------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 2252784 KB (53%) Done Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- --------------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled 3913492 KB (93%) Done Sun May 12 02:54:02 2024 Sun May 12 02:54:02 2024 0B 0% 0B 8.04GB ::*> volume efficiency show -volume vol1 -fields changelog-usage, changelog-size, logical-data-size, state, progress, last-op-size, last-op-begin, last-op-end vserver volume state progress last-op-begin last-op-end last-op-size changelog-usage changelog-size logical-data-size ------- ------ ------- ----------------- ------------------------ ------------------------ ------------ --------------- -------------- ----------------- svm vol1 Enabled Idle for 00:00:02 Sun May 12 02:56:27 2024 Sun May 12 02:57:24 2024 8GB 0% 0B 8.06GB ::*> volume show -volume vol1 -fields available, filesystem-size, total, used, percent-used, performance-tier-inactive-user-data, performance-tier-inactive-user-data-percent, size, dedupe-space-saved, dedupe-space-saved-percent, dedupe-space-shared,logical-used, logical-used-percent,logical-used-by-afs, logical-available, physical-used, physical-used-percent vserver volume size available filesystem-size total used percent-used dedupe-space-saved dedupe-space-saved-percent dedupe-space-shared physical-used physical-used-percent logical-used logical-used-percent logical-available logical-used-by-afs performance-tier-inactive-user-data performance-tier-inactive-user-data-percent ------- ------ ---- --------- --------------- ------- ------ ------------ ------------------ -------------------------- ------------------- ------------- --------------------- ------------ -------------------- ----------------- ------------------- ----------------------------------- ------------------------------------------- svm vol1 64GB 56.74GB 64GB 60.80GB 4.06GB 6% 4GB 50% 4GB 4.06GB 6% 8.06GB 13% - 8.06GB 0B 0% ::*> volume show-footprint -volume vol1 Vserver : svm Volume : vol1 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 4.06GB 0% Footprint in Performance Tier 4.27GB 100% Footprint in FSxFabricpoolObjectStore 0B 0% Volume Guarantee 0B 0% Flexible Volume Metadata 107.5MB 0% Deduplication Metadata 24.06MB 0% Deduplication 24.06MB 0% Delayed Frees 208.7MB 0% File Operation Metadata 4KB 0% Total Footprint 4.39GB 0% Effective Total Footprint 4.39GB 0%
last-op-size
が8GB
とボリューム内の全てのデータをスキャンしたことが分かります。dedupe-space-saved
も4GB
となっていますね。
ということで、-scan-old-data
を指定することで、重複排除を効かせることも可能です。ただし、-scan-old-data
はボリューム内の全てのデータをスキャンします。そのため時間もかかり、パフォーマンスが低下する可能性があることに注意しましょう。
重複排除が効いているデータをキャパシティプールストレージに移動した場合も重複排除を維持するか
最後に、重複排除が効いているデータをキャパシティプールストレージに移動した場合も重複排除を維持するかを確認します。
こちらが動作しないと、せっかくの重複排除がもったいないことになってしまいます。
試しにvol2
の階層化ポリシーをNoneからALLに変更します。
# 階層化ポリシーをALLに変更 ::> volume modify -volume vol2 -tiering-policy all Volume modify successful on volume vol2 of Vserver SVM. # ボリュームのデータの階層を確認 ::> volume show-footprint -volume vol2 Vserver : SVM Volume : vol2 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 2.90GB 0% Footprint in Performance Tier 223.4MB 7% Footprint in FSxFabricpoolObjectStore 2.78GB 93% Volume Guarantee 0B 0% Flexible Volume Metadata 61.95MB 0% Deduplication Metadata 34.58MB 0% Deduplication 34.58MB 0% Delayed Frees 96.53MB 0% Total Footprint 3.09GB 0% # ボリュームのStorage Efficiencyで削減されたデータ量を確認 ::> volume show -volume vol2 -fields tiering-policy, total, used, available, percent-used, sis-space-saved, dedupe-space-saved, dedupe-space-shared, compression-space-saved vserver volume available total used percent-used sis-space-saved dedupe-space-saved dedupe-space-shared compression-space-saved tiering-policy ------- ------ --------- ------ ------ ------------ --------------- ------------------ ------------------- ----------------------- -------------- SVM vol2 6.60GB 9.50GB 2.90GB 30% 1.23GB 1.23GB 1.22GB 0B all
ほとんどのデータがキャパシティプールストレージに移動しましたが、重複排除はしっかりキープされていますね。
階層化ポリシーをALLにしていると重複排除の効果が薄まる
Amazon FSx for NetApp ONTAPのキャパシティプールストレージのデータにはポストプロセス重複排除が効かない事象を紹介しました。
階層化ポリシーをALLにしていると重複排除の効果が薄まるので注意が必要です。
以下記事では移行時にプライマリストレージの空きを確保するために、階層化ポリシーをALLにすることを紹介しました。
今回の検証から重複排除をしっかり効かせたい場合は階層化ポリシーをALLにするのは避けるべきであることが分かりました。
もし、「重複排除を効かせた状態で移行をしたい。ただ、ほとんどのデータをキャパシティプールストレージに持っていきたい」という要望があるのであれば、以下の図のようにFSx for ONTAPを2つ用意する必要があると考えます。
まず、1台目のFSx for ONTAPにファイルを移行して、重複排除が効くまで待機します。その後、重複排除が掛かりきった後に最終的な移行先であるFSx for ONTAPにSnapMirrorで移行します。最後に現行ファイルサーバーと最終的な移行先のFSx for ONTAP間で同期をします。
SnapMirrorは重複排除などのStorage Efficiencyを維持します。
- SnapMirrorは、温度依存Storage Efficiencyを除き、デスティネーションに別の形式の圧縮が適用されないかぎり、ソースボリュームとデスティネーションボリュームの両方でStorage Efficiencyを維持します。
次の表に、ソースボリュームとデスティネーションボリュームのStorage Efficiencyの組み合わせと転送結果を示します
- 重複排除(D)-インラインまたはバックグラウンド/ポストプロセス
- アダプティブ圧縮(CA)-インラインまたはポストプロセスです
- 二次圧縮(cs)-インラインまたはポストプロセスです
- 温度依存Storage Efficiency(TSSE)- ONTAP 9.8以降(AFF プラットフォーム)
- ストレージ効率を伴う論理転送(LRSE)-ソース側のストレージ効率化によるすべての削減効果はSnapMirrorによって維持されます
- Logical Transfer(LRE)-ソース側のすべてのストレージ効率の節約は転送中に失われますが、デスティネーションで再び実現できます
FSx for ONTAPのボリュームはデフォルトでStorage Efficiency Mode: efficient
であるため、TSSE(Temperature Sensitive Storage Efficiency)は有効化されている状態です。
特定のボリュームでTSSEを有効にする必要がある場合は、volume efficiency modifyコマンドでstorage-efficiencyモードをefficiencyに設定します
そのため、1台目のFSx for ONTAPで重複排除が効いた状態で、最終的な移行先のFSx for ONTAPのキャパシティプールストレージに移行することができます。
この時、1台目のFSx for ONTAPのボリュームは階層化ポリシーはAutoもしくはNoneにしておくので、プライマリストレージのサイズはある程度確保する必要があります。ただし、最終的な移行が完了したら1台目のFSx for ONTAPは削除するため、移行期間が短ければそこまで課金は気にならないのではと考えます。
TSSEの説明は以下NetApp公式ドキュメントとSB C&Sさんの技術ブログをご覧ください。
完全に順番が前後していますが、「TSSEはFabricPoolのローカル(FSx for ONTAPでいうところのプライマリストレージ)のみサポートしている」とドキュメントに書いてありました。
Temperature-sensitive storage efficiency
Beginning in ONTAP 9.8, temperature-sensitive storage efficiency (TSSE) is available. TSSE uses temperature scans to determine how hot or cold data is and compresses larger or smaller blocks of data accordingly — making storage efficiency more efficient.
Beginning in ONTAP 9.10.1, TSSE is supported on volumes located on FabricPool-enabled local tiers (storage aggregates). TSSE compression-based storage efficiencies are preserved when tiering to cloud tiers.
(以下機械翻訳)
温度感応型ストレージ効率化
ONTAP 9.8から、温度感応型ストレージ効率化(TSSE)が利用できます。TSSEは、温度スキャンを使用して 温度スキャンを使用して、データの温度と温度を判断し、それに応じてより大きなデータブロックまたはより小さなデータブロックを圧縮します。 より効率的なストレージ効率を実現します。
ONTAP 9.10.1以降、TSSEはFabricPoolが有効なローカル階層にあるボリュームでサポートされています。 (ストレージアグリゲート)にあるボリュームでサポートされます。TSSE圧縮ベースのストレージ効率は、クラウド層に階層化する際にも維持されます。 層化しても、圧縮ベースのストレージ効率は維持されます。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!